package com.example.web.service;

import java.util.List;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import com.example.project.entity.DictData;
import com.example.project.service.DictDataService;
import com.example.project.service.DictTypeService;

/**
 * RuoYi首创 html调用 thymeleaf 实现字典读取
 * 
 * @author ruoyi
 */
@Service("dict")
public class DictService {
	
	@Autowired
	private DictTypeService dictTypeService;

	@Autowired
	private DictDataService dictDataService;

	/**
	 * 根据字典类型查询字典数据信息
	 * 
	 * @param dictType 字典类型
	 * @return 参数键值
	 */
	public List<DictData> getType(String dictType) {
		return dictTypeService.selectDictDataByType(dictType);
	}

	/**
	 * 根据字典类型和字典键值查询字典数据信息
	 * 
	 * @param dictType  字典类型
	 * @param dictValue 字典键值
	 * @return 字典标签
	 */
	public String getLabel(String dictType, String dictValue) {
		return dictDataService.selectDictLabel(dictType, dictValue);
	}

	/**
	 * 根据字典类型和多个字典键值查询字典数据信息
	 * 
	 * @param dictType  字典类型
	 * @param dictValues 多个字典键值（逗号分隔）
	 * @return 字典标签（逗号分隔）
	 */
	public String getLabels(String dictType, String dictValues) {
		if (dictValues == null || dictValues.isEmpty()) {
			return "";
		}
		
		String[] values = dictValues.split(",");
		StringBuilder labels = new StringBuilder();
		
		for (String value : values) {
			String label = dictDataService.selectDictLabel(dictType, value.trim());
			if (label != null) {
				if (labels.length() > 0) {
					labels.append(", ");
				}
				labels.append(label);
			}
		}
		
		return labels.toString();
	}
}
